Задана
матрица размера n * n. Найдите сумму ее положительных чисел.
Вход. Первая
строка содержит число n (1 ≤ n ≤ 100). Следующие строки
содержат матрицу n * n. Элементы матрицы по модулю не больше
100.
Выход. Выведите
сумму положительных чисел в матрице.
Пример входа |
Пример выхода |
3 4 -2 5 1 -4 -12 0 1 -3 |
11 |
массив - двумерный
При помощи
двойного цикла находим сумму положительных чисел матрицы – двумерного массива.
Реализация алгоритма
Объявим
двумерный массив m.
int m[101][101];
Читаем элементы матрицы. В переменной s подсчитываем сумму ее положительных
чисел.
scanf("%d",&n);
s = 0;
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
{
scanf("%d",&m[i][j]);
if (m[i][j] > 0) s = s + m[i][j];
}
Выводим требуемый ответ.
printf("%d\n",s);
Java реализация
import java.util.*;
public class Main
{
public static void main(String[] args)
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[][] = new int[n][n];
int s = 0;
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
{
m[i][j] = con.nextInt();
if (m[i][j] > 0) s = s + m[i][j];
}
System.out.println(s);
con.close();
}
}
Java реализация – threads
import
java.util.*;
class
SumRow extends Thread
{
int[][] m;
int row, res;
SumRow(int[][] m, int row)
{
this.m = m;
this.row = row;
}
public void
run()
{
res = 0;
for(int i = 0; i < m[0].length; i++)
if (m[row][i] > 0) res = res + m[row][i];
}
public int GetValue()
{
return res;
}
}
public class Main
{
public static void main(String[] args) throws InterruptedException
{
Scanner con = new Scanner(System.in);
int n = con.nextInt();
int m[][] = new int[n][n];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
m[i][j] = con.nextInt();
SumRow s[] = new SumRow[n];
for(int i = 0; i < n; i++)
{
s[i] = new SumRow(m,i);
s[i].start();
}
for(int i = 0; i < n; i++)
s[i].join();
int sum = 0;
for(int i = 0; i < n; i++)
sum = sum + s[i].GetValue();
System.out.println(sum);
con.close();
}
}
Python реализация
n = int(input())
a = [[int(j) for j in
input().split()] for _ in range(n)]
sum = 0
for i in
range(n):
for
j in range(n):
if
a[i][j] > 0: sum += a[i][j]
print(sum)